/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.clyme.expediente.entidad;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author user
 */
@Entity
@Table(name = "PERFIL")
public class Perfil implements Serializable{

    @Id
    @GeneratedValue
    @Column(name = "IDPERFIL")
    Integer id;
    
    @Column(name = "NOMBRE")
    String nombre;
    
    @Column(name = "HABILITADO",insertable = false)
    Short habilitado;
    
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "perfil")
    Set<Usuario> usuarios = new HashSet<Usuario>(0);
    
    @OneToMany( mappedBy = "perfil", cascade = CascadeType.ALL)
    Set<Permiso> permisos = new HashSet<Permiso>(0);

    public Perfil() {
    }

    public Perfil(Integer id, String nombre) {
        this.id = id;
        this.nombre = nombre;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Set<Usuario> getUsuarios() {
        return usuarios;
    }

    public void setUsuarios(Set<Usuario> usuarios) {
        this.usuarios = usuarios;
    }

    public Set<Permiso> getPermisos() {
        return permisos;
    }

    public void setPermisos(Set<Permiso> permisos) {
        this.permisos = permisos;
    }

    public Short getHabilitado() {
        return habilitado;
    }

    public void setHabilitado(Short habilitado) {
        this.habilitado = habilitado;
    }

    

}
